#ifndef __MATCH_CPU_H__
#define __MATHC_CPU_H__

#include "mian_util.h"

uint64 cpu_BWTExactMatch(uint3* sa,	
							unsigned int * Queries, unsigned int queryId,  
							BWT *bwt, BWT *revbwt, 
							long* numMatch = NULL);
uint64 cpu_BWT1MismatchSearch(uint3* sa,
                                                        unsigned int * Queries, unsigned int queryId,
                                                        BWT *bwt, BWT *revbwt,
                                                        long* numMatch = NULL);

uint64 cpu_BWT2MismatchCaseA(uint3* sa,	
							unsigned int * Queries, unsigned int queryId,  
							BWT *bwt, BWT *revbwt, 
							long* numMatch = NULL);
uint64 cpu_BWT2MismatchCaseB(uint3* sa,	
							unsigned int * Queries, unsigned int queryId,  
							BWT *bwt, BWT *revbwt, 
							long* numMatch = NULL);
							
uint64 cpu_BWT2MismatchCaseC(uint3* sa,	
							unsigned int * Queries, unsigned int queryId,  
							BWT *bwt, BWT *revbwt, 
							long* numMatch = NULL);
							
uint64 cpu_BWT2MismatchCaseD(uint3* sa,	
							unsigned int * Queries, unsigned int queryId,  
							BWT *bwt, BWT *revbwt, 
							long* numMatch = NULL);

#endif /*__MATCH_CPU_H__*/
